package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.vo.TodayStatisticsVO;
import com.ruoyi.system.domain.vo.RevenueTrendVO;
import com.ruoyi.system.domain.vo.MonthlyRevenueTrendVO;
import com.ruoyi.system.domain.vo.HourlyOrderDistributionVO;
import com.ruoyi.system.domain.vo.HourlyRevenueDistributionVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订单统计Mapper接口
 */
@Mapper
public interface TbOrderStatisticsMapper {
    
    /**
     * 查询今日统计数据
     * @return 今日统计数据
     */
    TodayStatisticsVO selectTodayStatistics(@Param("company") String companyName);

    /**
     * 查询营收趋势数据
     * @param days 天数
     * @return 营收趋势数据列表
     */
    List<RevenueTrendVO> selectRevenueTrend(@Param("days") Integer days,
                                            @Param("company") String companyName);

    /**
     * 查询月营收趋势数据
     * @param months 月数
     * @return 月营收趋势数据列表
     */
    List<MonthlyRevenueTrendVO> selectMonthlyRevenueTrend(@Param("months") Integer months
                                                          ,@Param("company") String companyName);

    /**
     * 查询时段订单分布数据
     *
     * @return 时段订单分布数据列表
     */
    List<HourlyOrderDistributionVO> selectHourlyOrderDistribution(@Param("company")  String companyName);

    /**
     * 查询时段营收分布数据
     * @return 时段营收分布数据列表
     */
    List<HourlyRevenueDistributionVO> selectHourlyRevenueDistribution(@Param("company")  String companyName);
} 